package com.xk._04regEx;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @description: 演示 字符匹配符 的使用
 * @author: xu
 * @date: 2022/11/1 13:45
 */
public class RegExp_03 {
    public static void main(String[] args) {
        String content = "a11uc8\tabcgh\t456abCq\nVDW8  89A BC632aBc_!@#";
        // 匹配 a-z 之间的任意一个字符 --> [a-z]
        // 匹配 A-Z 之间的任意一个字符 --> [A-Z]
        // 匹配 abc 这个字符串[默认区分大小写] --> abc
        // 匹配 abc 这个字符串[不区分大小写] --> (?i)abc
        // 匹配 abc 这个字符串[bc不区分大小写] --> a(?i)bc
        // 匹配 abc 这个字符串[b不区分大小写] --> a((?i)b)c
        // 匹配 0-9 之间的任意一个字符 --> [0-9] || \\d
        // 匹配不是 a-z 之间的任意一个字符 --> [^a-z]
        // 匹配不是 0-9 之间的任意一个字符 --> [^0-9] || \\D
        // 匹配 abcd 中的任意一个字符 --> [abcd]
        // 匹配不是 abcd 中的任意一个字符 --> [^abcd]
        // 匹配任意 英文字母、数字、下划线 --> [a-zA-Z0-9_] || \\w
        // 匹配不是 英文字母、数字、下划线 --> [^a-zA-Z0-9_] || \\W
        // 匹配任何 空白字符[空格、制表符等] --> \\s
        // 匹配任何非 空白字符[空格、制表符等] --> \\S
        // 匹配除 \n 之外的任何字符，如果要匹配，本身则需要使用 \\. --> .
        String regStr = ".";

        // 说明：
        // 1. 当创建Pattern对象时，指定 Pattern.CASE_INSENSITIVE，表示匹配是不区分字母大小写。
        // Pattern pattern = Pattern.compile(regStr, Pattern.CASE_INSENSITIVE);
        Pattern pattern = Pattern.compile(regStr);
        Matcher matcher = pattern.matcher(content);
        while (matcher.find()){
            System.out.println("找到：" + matcher.group(0));
        }
    }
}
